<template>
  <div class="liveRoomPage">
    <nav>
      <el-form :inline="true" :model="listQuery" class="demo-form-inline">

        <el-form-item label="状态：" label-width="100px">
          <el-radio-group v-model="listQuery.state" @change="searchTypeChange">
            <el-radio-button
              v-for="item in searchType"
              :key="item.value"
              :label="item.value"
            >
              {{ item.label }}
            </el-radio-button>
          </el-radio-group>
        </el-form-item>
        <br>
        <el-form-item label="关键字：" label-width="100px">
          <el-input
            v-model="listQuery.search"
            placeholder="请输入直播间名称/ID/主播昵称/微信号"
            class="inputKeyWord"
            style="width: 400px"
          >
            <el-button slot="append" icon="el-icon-search" @click="getList" />
          </el-input>
        </el-form-item>
        <el-form-item>
          <el-button
            style="margin-left: 20px"
            type="success"
            @click="add"
          >创建直播间</el-button>
        </el-form-item>
      </el-form>
    </nav>
    <section>
      <el-table
        ref="multipleTable"
        :data="roomList"
        border
        :header-cell-style="{ background: '#EEF3FF', color: '#333333' }"
        tooltip-effect="dark"
        style="width: 100%"
      >
        <el-table-column prop="id" label="直播间id" />
        <el-table-column prop="title" label="直播间标题" />
        <el-table-column prop="anchorNickname" label="主播昵称" />
        <el-table-column prop="anchorWechat" label="主播微信号" />
        <el-table-column prop="startTime" label="直播开始时间" />
        <el-table-column prop="endTime" label="预计结束时间" />
        <el-table-column prop="createTime" label="创建时间" />
        <el-table-column label="审核状态" width="100">
          <template slot-scope="scope">
            <el-tag v-if="scope.row.state == 0" type="warning"> 待审核 </el-tag>
            <el-tag v-if="scope.row.state == 1" type="success"> 已通过 </el-tag>
            <el-tag v-if="scope.row.state == 2" type="danger"> 未通过 </el-tag>
          </template>
        </el-table-column>
        <el-table-column
          fixed="right"
          width="200"
          label="操作"
          show-overflow-tooltip
        >
          <template slot-scope="scope">
            <div class="btnList">
              <el-button
                v-if="scope.row.state == 1"
                type="text"
                @click="addPro(scope.row)"
              >导入</el-button>
              <el-button type="text" @click="edit(scope.row)">编辑</el-button>
              <el-button
                type="text"
                @click="seeMore(scope.row)"
              >详情</el-button>
              <el-button type="text" @click="del(scope.row)">删除</el-button>
              <el-button
                v-if="scope.row.state == 2"
                type="text"
                @click="reExamine(scope.row)"
              >重新审核</el-button>
            </div>
          </template>
        </el-table-column>
      </el-table>
      <div class="pagination">
        <el-pagination
          :current-page="listQuery.page"
          :page-sizes="[10, 20, 50, 100]"
          :page-size="10"
          layout="total, sizes, prev, pager, next, jumper"
          :total="total"
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
        />
      </div>
    </section>

    <el-dialog
      :title="'直播间信息'"
      :visible.sync="DetailsLiveShow"
      width="50%"
      center
      :close-on-click-modal="false"
    >
      <el-row>
        <el-col :span="12">
          <el-form :model="liveForm" size="mini" label-width="180px">
            <el-form-item label="直播间标题:">
              {{ liveForm.title }}
            </el-form-item>
            <el-form-item label="直播间id:">
              {{ liveForm.id }}
            </el-form-item>
            <el-form-item label="直播间开始时间:">
              {{ liveForm.startTime }}
            </el-form-item>
            <el-form-item label="背景图:">
              <img :src="liveForm.coverImg" alt="" srcset="">
            </el-form-item>
            <el-form-item label="直播间类型:">
              {{ liveForm.liveType == 1 ? "推流" : "手机" }}
            </el-form-item>
            <el-form-item label="是否开启点赞:">
              {{ liveForm.closeLike == 0 ? "是" : "否" }}
            </el-form-item>
            <el-form-item label="是否开启评论:">
              {{ liveForm.closeComment == 0 ? "是" : "否" }}
            </el-form-item>
          </el-form>
        </el-col>
        <el-col :span="12">
          <el-form :model="liveForm" size="mini" label-width="180px">
            <el-form-item label="主播微信号:">
              {{ liveForm.anchorWechat }}
            </el-form-item>
            <el-form-item label="主播昵称:">
              {{ liveForm.anchorNickname }}
            </el-form-item>
            <el-form-item label="直播间结束时间:">
              {{ liveForm.endTime }}
            </el-form-item>
            <el-form-item label="分享图:">
              <img :src="liveForm.shareImg" alt="" srcset="">
            </el-form-item>
            <el-form-item label="是否开启回放:">
              {{ liveForm.closePlayback == 0 ? "是" : "否" }}
            </el-form-item>
            <el-form-item label="是否开启预约:">
              {{ liveForm.closeAppointment == 0 ? "是" : "否" }}
            </el-form-item>
          </el-form>
        </el-col>
      </el-row>
      <div>
        <el-table
          ref="multipleTable"
          :data="roomProList"
          border
          :header-cell-style="{ background: '#EEF3FF', color: '#333333' }"
          tooltip-effect="dark"
          style="width: 100%"
        >
          <el-table-column prop="productId" label="商品ID" />
          <el-table-column prop="productImage" label="商品图片">
            <template slot-scope="scope">
              <img
                style="width: 40px; height: 40px"
                :src="scope.row.productImage"
                alt=""
              >
            </template>
          </el-table-column>
          <el-table-column prop="productName" label="商品名称" />
          <el-table-column prop="stockNumber" label="库存" />
          <el-table-column label="价格">
            <template slot-scope="scope">
              <span v-if="scope.row.priceType == 1">
                一口价: {{ scope.row.fixedPrice }}
              </span>
              <span v-if="scope.row.priceType == 2">
                最低价：{{ scope.row.minPrice }} <br>
                最高价：{{ scope.row.maxPrice }}
              </span>
              <span v-if="scope.row.priceType == 3">
                现价: {{ scope.row.marketPrice }}
              </span>
            </template>
          </el-table-column>
          <el-table-column prop="saleNumber" label="销售数量" />
          <el-table-column prop="saleAmount" label="销售金额" />
        </el-table>
        <el-pagination
          style="margin-top: 20px"
          :current-page="proListQuery.page"
          :page-sizes="[10, 20, 50, 100]"
          :page-size="10"
          layout="total, sizes, prev, pager, next, jumper"
          :total="proTotal"
          @size-change="handleSizeChange1"
          @current-change="handleCurrentChange1"
        />
      </div>
      <div v-if="liveForm.remark" style="text-align: center; margin-top: 20px">
        <span style="color: red">备注：</span>
        {{ liveForm.remark }}
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="closeFn">关 闭</el-button>
      </span>
    </el-dialog>
    <!--表单组件-->
    <el-dialog
      :close-on-click-modal="false"
      :visible.sync="addLiveShow"
      :title="LiveShowState == 1 ? '创建直播间' : '编辑直播间'"
      width="800px"
      center
    >
      <el-form
        ref="form"
        :model="form"
        :rules="rules"
        size="small"
        label-width="140px"
      >

        <el-form-item
          label="分类"
          prop="cereLiveType"
        >
          <el-select
            v-model="form.cereLiveType"
            :disabled="isDisabled"
            placeholder="请选择分类"
          >
            <el-option
              v-for="(item, index) in typeData"
              :key="index"
              :label="item.name"
              :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="直播方式">
          <el-radio-group v-model="form.serviceType" :disabled="isDisabled">
            <el-radio :label="1">PC直播</el-radio>
            <el-radio :label="0">小程序直播</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="直播间标题" prop="title">
          <el-input
            v-model="form.title"
            style="width: 370px"
            :disabled="isDisabled"
          />
        </el-form-item>
        <el-form-item
          v-if="form.serviceType == 0"
          label="直播间背景图"
          prop="coverImg"
        >
          <div class="uploadWidth">
            <el-upload
              class="avatar-uploader1"
              :headers="headers"
              :action="uploadUrl"
              :show-file-list="false"
              :on-success="handlePictureCardPreview1"
            >
              <img v-if="form.coverImg" :src="form.coverImg" class="avatar">
              <i v-else class="el-icon-plus avatar-uploader-icon" />
            </el-upload>
          </div>
          <p style="color: #cf0f0f">
            直播间背景图，图片规则：建议像素1080*1920，大小不超过2M
          </p>
        </el-form-item>
        <el-form-item
          v-if="form.serviceType == 0"
          label="直播间分享图片"
          prop="shareImg"
        >
          <div class="uploadWidth">
            <el-upload
              class="avatar-uploader2"
              :headers="headers"
              :action="uploadUrl"
              :show-file-list="false"
              :on-success="handlePictureCardPreview2"
            >
              <img v-if="form.shareImg" :src="form.shareImg" class="avatar">
              <i v-else class="el-icon-plus avatar-uploader-icon" />
            </el-upload>
          </div>
          <p style="color: #cf0f0f">
            直播分享图 ，建议像素800*640，大小不超过1M
          </p>
        </el-form-item>
        <el-form-item label="封面图" prop="feedsImg">
          <div class="uploadWidth">
            <el-upload
              :disabled="isDisabled"
              class="avatar-uploader3"
              :headers="headers"
              :action="uploadUrl"
              :show-file-list="false"
              :on-success="handlePictureCardPreview3"
            >
              <img v-if="form.feedsImg" :src="form.feedsImg" class="avatar">
              <i v-else class="el-icon-plus avatar-uploader-icon" />
            </el-upload>
          </div>
          <p style="color: #cf0f0f">购物直播封面图 ，建议尺寸800*800</p>
        </el-form-item>
        <el-form-item label="计划直播开始时间" prop="startTime">
          <el-date-picker
            v-model="form.startTime"
            type="datetime"
            style="width: 370px"
            :disabled="isDisabled"
            format="yyyy-MM-dd HH:mm:ss"
            value-format="yyyy-MM-dd HH:mm:ss"
          />
          <p style="color: #cf0f0f">
            开播时间需要在当前时间的50分钟左右,并且开始时间不能在6个月后
          </p>
        </el-form-item>
        <el-form-item label="计划直播结束时间" prop="endTime">
          <el-date-picker
            v-model="form.endTime"
            type="datetime"
            style="width: 370px"
            :disabled="isDisabled"
            format="yyyy-MM-dd HH:mm:ss"
            value-format="yyyy-MM-dd HH:mm:ss"
          />
          <p style="color: #cf0f0f">
            开播时间和结束时间间隔不得短于30分钟,不得超过24小时
          </p>
        </el-form-item>
        <template v-if="form.serviceType == 1 && form.pushAddress != ''">
          <el-form-item label="推流链接">
            <el-input :value="form.pushAddress" />
          </el-form-item>
          <el-form-item label="推流密钥">
            <el-input :value="form.pushSecret" />
          </el-form-item>
        </template>
        <el-form-item
          v-if="form.serviceType == 0"
          label="主播昵称"
          prop="anchorNickname"
          :disabled="isDisabled"
        >
          <el-input
            v-model="form.anchorNickname"
            style="width: 370px"
            :disabled="isDisabled"
          />
        </el-form-item>
        <el-form-item
          v-if="form.serviceType == 0"
          label="主播微信号"
          prop="anchorWechat"
          :disabled="isDisabled"
        >
          <el-input
            v-model="form.anchorWechat"
            style="width: 370px"
            :disabled="isDisabled"
          />
          <p style="color: #cf0f0f">
            主播微信号需要实名，搜索微信官方小程序【小程序直播】进行认证
          </p>
        </el-form-item>
        <el-form-item
          v-if="form.serviceType == 0"
          label="主播头像"
          prop="anchorImge"
        >
          <div class="uploadWidth">
            <el-upload
              class="avatar-uploader3"
              :headers="headers"
              :action="uploadUrl"
              :show-file-list="false"
              :on-success="handlePictureCardPreview4"
            >
              <img
                v-if="form.anchorHeadImg"
                :src="form.anchorHeadImg"
                class="avatar"
              >
              <i v-else class="el-icon-plus avatar-uploader-icon" />
            </el-upload>
          </div>
        </el-form-item>

        <el-form-item
          v-if="form.serviceType == 0"
          label="直播间类型"
          prop="liveType"
        >
          <el-radio-group v-model="form.liveType" :disabled="isDisabled">
            <el-radio :label="1" class="radio">推流</el-radio>
            <el-radio :label="0">手机直播</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item
          v-if="form.serviceType == 0"
          label="横屏、竖屏"
          prop="screenType"
        >
          <el-radio-group v-model="form.screenType" :disabled="isDisabled">
            <el-radio :label="1" class="radio">横屏</el-radio>
            <el-radio :label="0">竖屏</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item
          v-if="form.serviceType == 0"
          label="是否关闭点赞"
          prop="closeLike"
        >
          <el-radio-group v-model="form.closeLike" :disabled="isDisabled">
            <el-radio :label="1" class="radio">关闭</el-radio>
            <el-radio :label="0">开启</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item
          v-if="form.serviceType == 0"
          label="是否关闭货架"
          prop="closeGoodsShelf"
        >
          <el-radio-group v-model="form.closeGoodsShelf" :disabled="isDisabled">
            <el-radio :label="1" class="radio">关闭</el-radio>
            <el-radio :label="0">开启</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item
          v-if="form.serviceType == 0"
          label="是否关闭评论"
          prop="closeComment"
        >
          <el-radio-group v-model="form.closeComment" :disabled="isDisabled">
            <el-radio :label="1" class="radio">关闭</el-radio>
            <el-radio :label="0">开启</el-radio>
          </el-radio-group>
        </el-form-item>

        <el-form-item
          v-if="form.serviceType == 0"
          label="是否关闭回放"
          prop="closePlayback"
        >
          <el-radio-group v-model="form.closePlayback" :disabled="isDisabled">
            <el-radio :label="1" class="radio">关闭</el-radio>
            <el-radio :label="0">开启</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item
          v-if="form.serviceType == 0"
          label="是否关闭分享"
          prop="closeShare"
        >
          <el-radio-group v-model="form.closeShare" :disabled="isDisabled">
            <el-radio :label="1" class="radio">关闭</el-radio>
            <el-radio :label="0">开启</el-radio>
          </el-radio-group>
        </el-form-item>
        <!-- <el-form-item label="是否关闭客服" prop="closeService">
          <el-radio-group v-model="form.closeService" :disabled="isDisabled">
            <el-radio :label="1" class="radio">关闭</el-radio>
            <el-radio :label="0">开启</el-radio>
          </el-radio-group>
        </el-form-item> -->
        <el-form-item
          v-if="form.serviceType == 0"
          label="是否关闭预约"
          prop="closeAppointment"
        >
          <el-radio-group
            v-model="form.closeAppointment"
            :disabled="isDisabled"
          >
            <el-radio :label="1" class="radio">关闭</el-radio>
            <el-radio :label="0">开启</el-radio>
          </el-radio-group>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="addLiveShow = false">取 消</el-button>
        <el-button
          v-if="LiveShowState == 1"
          type="success"
          :disabled="isDisabled"
          @click="submitCU"
        >确 认</el-button>
        <el-button
          v-if="LiveShowState == 2"
          type="primary"
          :disabled="isDisabled"
          @click="submitCU"
        >保 存</el-button>
      </span>
    </el-dialog>
    <!-- 导入商品 -->
    <el-dialog
      title="导入商品"
      :visible.sync="addProShow"
      width="60%"
      center
      :close-on-click-modal="false"
    >
      <el-form
        :inline="true"
        :model="proListPassQuery"
        class="demo-form-inline"
      >
        <el-form-item class="inputWide" label="关键字">
          <el-input
            v-model="proListPassQuery.search"
            placeholder="请输入关键字搜索"
          />
        </el-form-item>
        <el-form-item>
          <el-button
            type="primary"
            plain
            @click="getProPassList"
          >查询</el-button>
        </el-form-item>
      </el-form>
      <!-- 表格 -->
      <div class="tableBox">
        <el-table
          ref="multipleTable"
          :data="proListPassData"
          border
          :header-cell-style="{ background: '#EEF3FF', color: '#333333' }"
          tooltip-effect="dark"
          style="width: 100%"
          @selection-change="handleSelectionChange"
        >
          <el-table-column type="selection" width="55" />
          <el-table-column prop="productId" label="商品ID" />
          <el-table-column prop="productImage" label="商品图片">
            <template slot-scope="scope">
              <img
                style="width: 40px; height: 40px"
                :src="scope.row.productImage"
                alt=""
              >
            </template>
          </el-table-column>
          <el-table-column prop="productName" label="商品名称" />
          <el-table-column prop="stockNumber" label="库存" />
          <el-table-column label="价格">
            <template slot-scope="scope">
              <span v-if="scope.row.priceType == 1">
                一口价: {{ scope.row.fixedPrice }}
              </span>
              <span v-if="scope.row.priceType == 2">
                最低价：{{ scope.row.minPrice }} <br>
                最高价：{{ scope.row.maxPrice }}
              </span>
              <span v-if="scope.row.priceType == 3">
                现价: {{ scope.row.marketPrice }}
              </span>
            </template>
          </el-table-column>
        </el-table>
        <el-pagination
          style="margin-top: 20px"
          :page-sizes="[10, 20, 50, 100]"
          :page-size="10"
          layout="total, sizes, prev, pager, next, jumper"
          :total="proListPassTotal"
          @size-change="handleSizeChange3"
          @current-change="handleCurrentChange3"
        />
      </div>
      <!-- 新增用户 -->
      <span slot="footer" class="dialog-footer">
        <el-button @click="addProShow = false">取 消</el-button>
        <el-button type="success" @click="addproSubmit">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>

<script>
import {
  liveGetList,
  liveGetProduct,
  addLiveSave,
  updateLive,
  deleteLive,
  liveProGetAll,
  importProduct,
  reExamine,
} from '@/api/live'
import { WXuploadUrl, uploadUrl } from '@/utils/request'
import { getLiveTypeAll } from '@/api/live'
import { getToken } from '@/utils/auth.js'
export default {
  data() {
    return {
      uploadUrl: uploadUrl,
      headers: {
        'Authorization-business': getToken()
      },
      searchType: [
        {
          label: '全部',
          value: null,
        },
        {
          label: '待审核',
          value: 0,
        },
        {
          label: '审核已通过',
          value: 1,
        },
        {
          label: '审核未通过',
          value: 2,
        },
      ],
      listQuery: {
        state: null,
        search: '',
        page: 0,
        pageSize: 10,
        shopId: null,
      },
      proListQuery: {
        liveId: null,
        page: 0,
        pageSize: 10,
        shopId: null,
      },
      roomList: [], // 直播间列表
      roomProList: [], // 直播相关产品列表
      total: 0,
      proTotal: 0,
      DetailsLiveShow: false,
      activeName: 'first',
      disabled: false,
      liveForm: {}, // 添加直播间
      // 添加直播间部分
      addLiveShow: false,
      isDisabled: false,
      LiveShowState: false,

      form: {
        anchorHeadImg: '',
        anchorNickname: '',
        anchorWechat: '',
        coverImg: '',
        coverMediaId: '',
        closeAppointment: 0,
        closeComment: 0,
        closeGoodsShelf: 0,
        closeLike: 0,
        closePlayback: 0,
        closeService: 0,
        closeShare: 0,
        feedsImg: '',
        feedsMediaId: '',
        endTime: '',
        id: 0,
        liveType: 0,
        remark: '',
        screenType: 0,
        shareImg: '',
        shareMediaId: '',
        shopId: 0,
        startTime: '',
        state: 0,
        title: '',
        serviceType: 0,
        pushAddress: '',
        pushSecret: '',
        cereLiveType: ''
      },
      rules: {
        cereLiveType: [
          { required: true, message: '类型不能为空', trigger: 'blur' },
        ],
        title: [
          { required: true, message: '直播间标题不能为空', trigger: 'blur' },
          { min: 3, max: 17, message: '最短3个汉字，最长17个汉字', trigger: 'blur' }
        ],
        coverImg: [
          { required: true, message: '背景图不能为空', trigger: 'blur' },
        ],
        feedsImg: [
          { required: true, message: '封面图不能为空', trigger: 'blur' },
        ],
        shareImg: [
          { required: true, message: '分享图片不能为空', trigger: 'blur' },
        ],
        startTime: [
          { required: true, message: '开始时间不能为空', trigger: 'blur' },
        ],
        endTime: [
          { required: true, message: '预计结束时间不能为空', trigger: 'blur' },
        ],
        anchorNickname: [
          { required: true, message: '主播昵称不能为空', trigger: 'blur' },
          { min: 2, max: 15, message: '最短2个汉字，最长15个汉字', trigger: 'blur' }
        ],
        anchorWechat: [
          { required: true, message: '主播微信号不能为空', trigger: 'blur' },
        ],
        liveType: [
          {
            required: true,
            message: '直播间类型 1：推流 0：手机直播不能为空',
            trigger: 'blur',
          },
        ],
        screenType: [
          {
            required: true,
            message: '横屏、竖屏 【1：横屏，0：竖屏】不能为空',
            trigger: 'blur',
          },
        ],
        closeGoodsShelf: [
          {
            required: true,
            message: '是否关闭货架 【0：开启，1：关闭】不能为空',
            trigger: 'blur',
          },
        ],
        closeComment: [
          {
            required: true,
            message: '是否关闭评论 【0：开启，1：关闭】不能为空',
            trigger: 'blur',
          },
        ],
        closeAppointment: [
          {
            required: true,
            message: '是否关闭预约 【0：开启，1：关闭】不能为空',
            trigger: 'blur',
          },
        ],
      },
      addProShow: false,
      proListPassData: [],
      proListPassQuery: {
        liveId: null,
        page: 0,
        pageSize: 10,
        shopId: null,
        search: null,
      },
      proListPassTotal: 0,
      proPassFrom: {
        liveId: null,
        liveProductIdList: [],
        shopId: null,
      },
      isAllow: true,
      typeData: []
    }
  },
  watch: {

    addLiveShow: function() {
      if (!this.addLiveShow && this.isDisabled) {
        this.isDisabled = false
      }
    }

  },
  created() {
    this.getList()

    getLiveTypeAll({
      name: '', // 搜索字段
      page: '1', // 当前页
      pageSize: '1000' // 每页记录数
    }).then(restype => {
      this.typeData = restype.data.list
      console.log('getLiveTypeAll-->', restype)
    })
  },
  methods: {
    // 获取直播间列表
    async getList() {
      const res = await liveGetList(this.listQuery)
      this.total = res.data.total
      this.roomList = res.data.list
    },
    // 获取直播间相关产品信息
    async getProList() {
      this.proListQuery.shopId = this.liveForm.shopId
      this.proListQuery.liveId = this.liveForm.id
      const res = await liveGetProduct(this.proListQuery)
      this.roomProList = res.data.list
      this.proTotal = res.data.total
    },
    seeMore(row) {
      this.liveForm = row
      this.DetailsLiveShow = true
      this.getProList()
    },
    del(row) {
      this.$confirm('是否确认删除该内容?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      }).then(() => {
        deleteLive(row)
          .then((res) => {
            this.closeDialogVisible = false
            this.$message.success('删除成功')
            this.getList()
          })
          .catch((err) => {
            this.$message.error(err.msg)
          })
      })
    },
    // 选择查询状态
    searchTypeChange(e) {
      this.listQuery.state = e
      this.getList()
    },
    // 分页
    handleCurrentChange(e) {
      this.listQuery.page = e
      this.getList()
    },
    handleSizeChange(e) {
      this.listQuery.pageSize = e
      this.getList()
    },
    handleCurrentChange1(e) {
      this.proListQuery.page = e
      this.getProList()
    },
    handleSizeChange1(e) {
      this.proListQuery.pageSize = e
      this.getProList()
    },
    closeFn() {
      this.DetailsLiveShow = false
    },
    // 添加直播间
    // 图片上传
    handlePictureCardPreview1(file) {
      console.log(file)
      if (file.code === '') {
        this.form.coverImg = file.data.url
        this.form.coverMediaId = file.data.mediaId
      } else {
        this.$message.error('图片超出规定像素，上传失败！')
      }
    },
    handlePictureCardPreview2(file) {
      if (file.code === '') {
        this.form.shareImg = file.data.url
        this.form.shareMediaId = file.data.mediaId
      } else {
        this.$message.error('图片超出规定像素，上传失败！')
      }
    },
    handlePictureCardPreview3(file) {
      if (file.code === '') {
        this.form.feedsImg = file.data.url
        this.form.feedsMediaId = file.data.mediaId
      } else {
        this.$message.error('图片超出规定像素，上传失败！')
      }
    },
    handlePictureCardPreview4(file) {
      if (file.code === '') {
        this.form.anchorHeadImg = file.data.url
      } else {
        this.$message.error('图片超出规定像素，上传失败！')
      }
    },
    add() {
      this.addLiveShow = true
      this.LiveShowState = 1
      this.form = {
        anchorHeadImg: '',
        anchorNickname: '',
        anchorWechat: '',
        coverImg: '',
        coverMediaId: '',
        closeAppointment: 0,
        closeComment: 0,
        closeGoodsShelf: 0,
        closeLike: 0,
        closePlayback: 0,
        closeService: 0,
        closeShare: 0,
        feedsImg: '',
        feedsMediaId: '',
        endTime: '',
        id: 0,
        liveType: 0,
        remark: '',
        screenType: 0,
        shareImg: '',
        shareMediaId: '',
        shopId: 0,
        startTime: '',
        state: 0,
        title: '',
        serviceType: 1,
        pushAddress: '',
        pushSecret: ''
      }
    },
    edit(row) {
      this.addLiveShow = true
      this.LiveShowState = 2
      const data = Object.assign({}, row)
      this.form = { ...data }
    },
    // 添加直播间
    submitCU() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          if (this.LiveShowState === 1) {
            if (this.isAllow) {
              this.isAllow = false
              addLiveSave(this.form).then((res) => {
                if (res.code === '') {
                  this.$message({
                    message: '创建成功',
                    type: 'success',
                  })
                  if (this.form.serviceType == 1) {
                    this.form.pushAddress = res.data.pushAddress
                    this.form.pushSecret = res.data.pushSecret
                    this.isDisabled = true
                  } else {
                    this.addLiveShow = false
                  }

                  this.getList()
                }
              })
              setTimeout(() => {
                this.isAllow = true
              }, 1000)
            }
          } else {
            updateLive(this.form).then((res) => {
              if (res.code === '') {
                this.$message({
                  message: '修改成功',
                  type: 'success',
                })
                this.addLiveShow = false
                this.getList()
              }
            })
          }
        }
      })
    },
    // 导入商品
    addPro(row) {
      this.proPassFrom.liveId = row.id
      this.proPassFrom.shopId = row.shopId
      this.proListPassQuery.search = ''
      this.proListPassQuery.liveId = row.id
      this.proListPassQuery.shopId = row.shopId
      this.addProShow = true
      this.getProPassList()
    },
    async getProPassList() {
      this.proListPassQuery.state = 1
      const res = await liveProGetAll(this.proListPassQuery)
      this.proListPassTotal = res.data.total
      this.proListPassData = res.data.list
    },
    handleSizeChange3(e) {
      this.proListPassQuery.pageSize = e
      this.getProPassList()
    },
    handleCurrentChange3(e) {
      this.proListPassQuery.page = e
      this.getProPassList()
    },
    // 选中的
    handleSelectionChange(val) {
      this.proPassFrom.liveProductIdList = val.map((el) => {
        return el.id
      })
    },
    // 导入操作
    addproSubmit() {
      if (this.proPassFrom.liveProductIdList.length === 0) {
        this.$message.warning('请选择导入的商品')
      } else {
        importProduct(this.proPassFrom).then((res) => {
          if (res.code === '') {
            this.$message({
              message: '导入成功',
              type: 'success',
            })
            this.addProShow = false
            this.getList()
          }
        })
      }
    },
    // 重新审核
    reExamine(row) {
      reExamine({ id: row.id }).then((res) => {
        if (res.code === '') {
          this.$message.success('已重新提交')
          this.getList()
        }
      })
    },
  }

};
</script>

<style lang="scss" scpoed>
img {
  width: 100px;
  height: 100px;
}
.liveRoomPage {
  padding: 32px 20px;
  nav {
    .search {
      line-height: 40px;
      margin: 10px 0;
      display: flex;
      .title {
        min-width: 120px;
        text-align: right;
      }
      .inputKeyWord {
        max-width: 400px;
        min-width: 200px;
      }
    }
  }
  section {
    padding: 12px 8px;
    background-color: #fff;
    .pagination {
      margin-top: 30px;
    }
  }
}
.avatar-uploader .el-upload {
  border: 1px dashed #d9d9d9;
  border-radius: 6px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.avatar-uploader1 {
  border: 1px dashed #d9d9d9;
  width: 108px;
  height: 192px;
  .avatar-uploader-icon {
    font-size: 28px;
    color: #8c939d;
    width: 108px;
    height: 192px;
    line-height: 192px;
    text-align: center;
  }
  .avatar {
    width: 108px;
    height: 192px;
    display: block;
  }
}

.avatar-uploader2 {
  border: 1px dashed #d9d9d9;
  width: 180px;
  height: 148px;
  .avatar-uploader-icon {
    font-size: 28px;
    color: #8c939d;
    width: 180px;
    height: 148px;
    line-height: 148px;
    text-align: center;
  }
  .avatar {
    width: 180px;
    height: 148px;
    display: block;
  }
}

.avatar-uploader3 {
  border: 1px dashed #d9d9d9;
  width: 140px;
  height: 140px;
  .avatar-uploader-icon {
    font-size: 28px;
    color: #8c939d;
    width: 140px;
    height: 140px;
    line-height: 140px;
    text-align: center;
  }
  .avatar {
    width: 140px;
    height: 140px;
    display: block;
  }
}
</style>
